Touch-sensitive devices may detect touch-based inputs via several different mechanisms, including but not limited to optical, resistive, and capacitive mechanisms. Some optical touch-sensitive devices detect touch by capturing an image of a backside of a touch screen via an image sensor, and then processing the image to detect objects located on the screen.
One difficulty that may be encountered with a touch-sensitive device is related to processing multiple inputs on the touch-sensitive device. For example, touch-based input applications provide convenient and intuitive manipulation of virtual objects in software. With a single input, the process of translating the behavior of a mouse, finger, stylus, or other manipulator, into movement of a virtual object is straightforward. However, when using a multi-touch input device, manipulators can simultaneously impact the same virtual object and complicate a programming model used to operate on the virtual object.
As an example, a virtual photograph may be manipulated with a single finger input. In relation to finger inputs, a virtual photograph may move the same amount as the finger, presenting a readily understandable input for developers and programmers of touch-sensitive devices and applications that may run on them. In contrast, moving several fingers simultaneously may present developers with a new interaction model. For example, treating each manipulator independently may not generate coherent results, as a user may intuitively expect their fingers to act as a coordinated input.